In traditional command-line environments, commands execute and produce text output. The text output may then be pipelined to another command that parses the text output and performs additional processing. Recently, an object-based command-line environment has been developed. Commands (i.e., cmdlets) in the object-based command-line environment pass objects between each other. These cmdlets are not regular .exe files, but are rather a form of managed code assemblies. The operation of these cmdlets within the object-based command-line environment provides many benefits and increased functionality over the traditional command-line environments.
Unfortunately, there are many traditional commands written for the traditional command-line environment that can not utilize the features provided by the new object-based command-line environment when they are executed in the new environment. One way in which these traditional commands may utilize the new features is by re-writing the traditional commands as cmdlets. Another way is by writing a unique wrapper for each traditional command, where the wrapper is configured to generate the objects that can utilize the functionality provided by the new object-based command-line environment. Both of these approaches, however, involve a huge expense in code development and testing.
Therefore, there is a need for a mechanism that will allow traditional commands to utilize features provided in the new object-based command-line environment without having to incur a huge expense in code development and/or testing of the commands.